/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package sys.donto.anamnese;

import java.util.List;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import sys.donto.util.GenericDAO;
import sys.donto.util.HibernateUtil;

/**
 *
 * @author JOABB
 */
public class AnamneseDAO  extends GenericDAO<Anamnese>{//Aqui a classe CidadeDAO herda da classe GenericDAO do pacote util, Essa classe possui operações comuns a todas as classes persistentes.
   
    public AnamneseDAO() {
        super(Anamnese.class);//Referencia a classe pai, que no caso é Cidade.
    }
    public List <Anamnese> pesquisaDescricao(String Nome){//Criando uma lista de cidade.
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        
        List <Anamnese> anamneses = (List<Anamnese>) getSessao().createCriteria(Anamnese.class).
                add(Restrictions.ilike("nome", Nome, MatchMode.ANYWHERE)).
                addOrder(Order.asc("nome")).list();
        
        getSessao().close();
        return anamneses;
    }
       
    public Anamnese pesquisaId(int id){
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        
        Anamnese anamnese = (Anamnese) getSessao().createCriteria(Anamnese.class).
                add(Restrictions.eq("id", id)).uniqueResult();
        
        getSessao().close();
        return anamnese;
    }
    
    public void salvar(Anamnese anam){//se o ID for igual a zero ele adiciona a cidade, se não é pq ja possui, então atualiza.
        if(anam.getId()==0){
            adicionar(anam);
        } else {
            atualizar(anam);
        }
    }
    
    
}
